package com.xyy.saas.payment.service.report;

import com.xyy.saas.payment.exception.PaymentException;
import com.xyy.saas.payment.pojo.bo.ReportPropertiesBo;
import com.xyy.saas.payment.pojo.bo.ReportQueryOrderBo;
import com.xyy.saas.payment.pojo.bo.ReportQueryOrderViewBo;
import com.xyy.saas.payment.pojo.vo.ReportExportOrderVo;
import com.xyy.saas.payment.pojo.vo.ReportQueryOrderVo;

import java.util.List;

/**
 * @author wangtianqi
 * @date 2020/5/11 10:10
 */
public interface ReportService {
    /**
     * 获取报表页面配置信息
     * @return
     */
    ReportPropertiesBo getReportProperties();

    /**
     * 报表查询订单
     * @param reportQueryOrderVo
     * @return
     */
    ReportQueryOrderBo reportQueryOrder(ReportQueryOrderVo reportQueryOrderVo);

    /**
     * 报表导出订单
     * @param reportExportOrderVo
     * @return
     */
    List<ReportQueryOrderViewBo> reportExportOrderVo(ReportExportOrderVo reportExportOrderVo) throws PaymentException;

    /**
     * 构造文件名
     * @param reportExportOrderVo
     * @return
     */
    String buildExcelFileName(ReportExportOrderVo reportExportOrderVo);
}
